package main

import (
	"time"
)

// 时间格式定义
//template1 := "2006-01-02 15:04:05"
const SysTimeForm = "2006-01-02 15:04:05"
const SysTimeFormShort = "2006-01-02"

var SysTimeLocation, _ = time.LoadLocation("Asia/Shanghai") // 设置中国时区

// 当前时间的时间戳
func NowUnix() int {
	// Now获取当前时间，返回的是 Time 类型。In后面跟上时区， Unix() 转换为时间戳，单位是秒
	return int(time.Now().In(SysTimeLocation).Unix())
}

// 将unix时间戳格式化为yyyymmdd H:i:s格式字符串
func FormatFromUnixTime(t int64) string {
	if t > 0 {
		return time.Unix(t, 0).Format(time.RFC3339)
	} else {
		return time.Now().Format(SysTimeForm)
	}
}

// 将unix时间戳格式化为yyyymmdd格式字符串
func FormatFromUnixTimeShort(t int64) string {
	if t > 0 {
		return time.Unix(t, 0).Format(SysTimeFormShort)
	} else {
		return time.Now().Format(SysTimeFormShort)
	}
}

// 将字符串转成时间
func ParseTime(str string) (time.Time, error) {
	return time.ParseInLocation(SysTimeForm, str, SysTimeLocation)
}
